Dynamic Choreographies - Safe Runtime Updates of Distributed Applications
نویسندگان
چکیده
Proving deadlock freedom for distributed applications is complex. It becomes even harder if those applications dynamically adapt to face needs which were unexpected when the application was deployed or even started. We present a framework ensuring this key property by construction. Our framework includes a language called Adaptive Interaction-Oriented Choreography (AIOC) for programming adaptive distributed applications. Adaptation is enacted by rules, which can be defined and added while the application is running. One AIOC describes the behaviour and the interactions of multiple participants from a global viewpoint. Executable code for each participant is automatically generated from the AIOC. We prove correctness of code generation by defining labelled transition system semantics for both AIOCs and the code of the distributed participants, and proving a trace equivalence result. Deadlock freedom follows as a corollary.
منابع مشابه
Dynamic Choreographies: Theory And Implementation
Programming distributed applications free from communication deadlocks and race conditions is complex. Preserving these properties when applications are updated at runtime is even harder. We present a choreographic approach for programming updatable, distributed applications. We define a choreography language, called Dynamic Interaction-Oriented Choreography (DIOC), that allows the programmer t...
متن کاملType-Safe Runtime Class Upgrades in Creol
Modern applications distributed across networks such as the Internet may need to evolve without compromising application availability. Object systems are well suited for runtime update, as encapsulation clearly separates internal structure and external services. This paper considers a type-safe asynchronous mechanism for dynamic class upgrade, allowing class hierarchies to be updated in such a ...
متن کاملSafe Dynamic Software Updates in Multi-Threaded Systems with ActiveContext
Applications need to be updated. The traditional approach to stop and consequently restart an application for an update is not a valid scenario in the case of high availability environments—they need to be updated at runtime. The reflective capabilities of dynamic languages offer a convenient way to install updates at runtime, but do not provide adequate mechanisms to ensure safety. They suffer...
متن کاملSafe Stopping of Running Component-based Distributed Systems Challenges and Research Gaps
Continuous availability of services and low degree of disruption are two inherent necessities for mission-critical software systems. These systems could not be stopped to perform updates because disruption in their services consequent irretrievable losses. Additionally, compared to offline update, the changes should preserve the correct completion of ongoing activities. In order to place the af...
متن کاملTowards Dynamic Updates in Service Composition
We survey our results about verification of adaptable processes. We present adaptable processes as a way of overcoming the limitations that process calculi have for describing patterns of dynamic process evolution. Such patterns rely on direct ways of controlling the behavior and location of running processes, and so they are at the heart of the adaptation capabilities present in many modern co...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2015